【レポート】ほぼ、フルAIゲーム。「Red Ram」がプレイヤー好みのミステリーゲームを無限に生成できるからくり #CEDEC2024 #classmethod_game
こんにちは、ゲームソリューション部の入井です。
今回はCEDEC2024で聴講したセッション『ほぼ、フルAIゲーム。「Red Ram」がプレイヤー好みのミステリーゲームを無限に生成できるからくり』についてレポートします。
セッション概要
本セッションでは次の二つの内容をお伝えいたします。
1. ゲーム内で生成AIを用いてコンテンツを自動生成することの魅力・可能性・課題
2. 技術デモ「Red Ram」におけるゲームコンテンツ生成の仕組み近年、生成AIをゲーム制作の様々な工程に活用する動きが盛んです。
まず始めに、特にゲーム内で生成AIを用いてコンテンツを自動生成することの魅力と可能性をお伝えします。
ゲーム内で生成AIを活用することは、今までに無い新たなゲーム体験の創出に繋がることを説明します。ゲーム内で生成AIを活用した事例として、モリカトロン株式会社が開発した技術デモ「Red Ram」の解説を行います。
Red Ramは生成AIをフル活用して刑事モノのミステリーゲームを自動生成するシステムです。
Red Ramがプレイヤーの要望に合わせて、ストーリー構成・キャラクター・背景画像など、ゲームを構成するほぼ全てのコンテンツを自動生成する仕組みを解説します。最後に、Red Ram開発の中で直面した課題について述べます。
生成によるプレイヤーの待ち時間をいかに減らすかという課題は解決したものの、生成コンテンツの質と費用については未だ課題が残されていることを説明します。
※CEDEC2024セッションページより引用
印象に残った点
生成AIを活用したゲーム『Red Ram』
今回のセッションで紹介された『Red Ram』は、生成AIのゲーム体験を研究するために開発されたゲームです。プレイヤーの指示内容を元にAIストーリーを生成し、プレイヤーは生成されたストーリーを読んで正しい犯人を当てるという内容になっています。ゲーム内のコンテンツはほぼ全て生成AIで作成されます。
生成内容のバリエーションが豊富で、プレイヤーの好みに合わせてゲーム内容を生成できるという点で、生成AI独自のゲーム体験を実現しています。
プレイヤーの入力内容を元に、ゲームのストーリーを自動生成
ゲームコンテンツの生成の流れは以下のようになっています。
- プレイヤーが凶器、犯行場所、被害者の同期といった情報を入力
- AIがそれをもとにプロットを生成
- 生成されたプロットを元に肉付けしたストーリーを生成
- ストーリーを元に舞台や人物等の詳細な設定情報を生成
- 詳細設定情報を元に会話シナリオを生成
プロット生成時には、プレイヤーの入力内容に加えて、ミステリーに必要な要素やその構成方法、プレイヤーを惑わすテクニックなどの情報を載せたミステリー執筆ガイド、ゲーム中の物語の分岐情報などを記載した進行フローもLLMに渡されます。進行フローはMermaid記法でテキスト化して渡しているとのことです。
生成されるプロットのフォーマットは指定されておらず、これはフォーマットを指定しない方が品質の良いシナリオが生成されやすいためだそうです。
プレイヤーが実際に目にするテキストは、最後に生成される会話シナリオです。これは、プレイヤーである刑事が各容疑者への尋問を行う際に使用されます。
会話シナリオは、これまでのストーリー関連の生成情報をテンプレートに割り当てて作成したプロンプトを元に生成されます。
話し手情報、会話テキストと一緒に6パターンの感情情報も出力されます。感情情報は、ゲーム内での立ち絵の表情切り替えに使用されます。
ストーリーを元に画像データを生成
ゲーム中で使用する画像データも、ストーリーデータを元にStable Diffusionで生成されます。
背景や証拠品の画像生成では、それぞれプロンプト等で調整が行われています。例えば、背景画像は登場人物を表示しても違和感がないように画角と構図が指定されます。
証拠品画像については、例えば容疑者が写った写真など登場人物情報の反映が難しいものは、あらかじめ用意した置き換え用の画像が使用される形にしているとのことです。
立ち絵の生成では、直立した人物画像が生成されるようにControlNetを使用して顔の位置を指定しています。また、背景と綺麗に合わせるため、セマンティックセグメンテーションで画像の領域を推定し、深度推定で奥行きが浅い部分を判定することで、綺麗に人物画像の切り抜きができるようにしています。
各人物には、通常、喜び、怒りなど6種類の表情パターンが生成されます。顔が別人になってしまわないよう、元の人物画像生成で使用したプロンプトと乱数を使用し、プロンプトには表情情報のみを追加しています。ControlNetでもそれぞれの表情ごとに指定が行われています。
凶器が豆腐の事件を生成した事例
実際に生成される例の事件として、凶器に豆腐を指定した事件が紹介されました。
一見凶器には向かないようなものが指定されても、死因を窒息にするなど臨機応変にAI側で対応しています。AIらしい独自の発想も楽しめるようになっていると思われます。
生成AIゲームの今後の課題
『Red Ram』の開発を通して見つかった生成AIをゲームで使用する上での課題も紹介されました。
まず生成物のクオリティ面の課題として、例えば『冒頭で凶器が見つかったはずなのに、後のシナリオで凶器が見つかっていないことになっている』など辻褄が合わなかったり、何故か序盤で主人公が犯人発覚につながるネタバレをするシナリオが生成されてしまうことがあったそうです。
これらの問題に対しては、LLMへのプロンプトや与える情報をさらに工夫する必要があるとのことでした。
生成にかかる時間や費用などのコスト面の課題については対策も紹介されました。
待ち時間の対策として、例えばゲームの人物データが6人分必要な場合、1人ずつではなく全員分を同時に並列生成したり、過去の生成済ゲームを待ち時間中にプレイできるようにするなどの工夫が行われています。
生成AIのモデルの更新により、生成時間も費用も減少傾向にあるため、今後もこの流れが続けば、コストの問題はあまり気にならなくなると予想されています。
今後の展望として、『Red Ram』の後に開発した『言霊の迷宮』というゲームが紹介されました。このゲームでは、プレイヤーの言葉を元に独自のアイテムとそれを使ったストーリーを生成し、ビジュアルノベル形式でストーリーを楽しめるようになっているとのことです。
ユーザーの入力内容がリアルタイムにゲーム側に反映されることで、生成AI独自の新しいゲーム体験をプレイヤーに提供できるとの考えから開発を進めているとのことです。
感想
生成AI技術を積極的に活用したゲームの例として、このセッションは非常に参考になりました。ほぼ生成AIオンリーの制約下でも、ちゃんとゲームとして成立させられる段階まで来ているのだということが分かりました。
ゲームにおける生成AIの活用は、現在は実用性の面から開発の効率化などでよく使われていますが、新しいゲーム体験を作り出せるこのような活用法もどんどん研究が進んでほしいと思いました。
セッションの最後では、このゲームの開発についての論文も紹介されました。より詳しい情報が欲しい方は、こちらの論文を参照することをお勧めします。